package wikist.service.wikiconverter;

import java.text.MessageFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * コンテンツをWiki記法から変換するサービスです。
 * 
 * @author onjiro.mohyahya
 */
public final class WikiConvertService {

    /**
     * デフォルト・コンストラクター
     */
    public WikiConvertService() {
    }

    /**
     * Wiki記法の記述内容をHTMLに変換します。
     * 
     * @param src
     *            変換対象の文字列
     * @return 変換後の文字列
     */
    public String convert(String src) {
        String ret = src;

        // TODO ページ内リンク以外のコンパイルを未実装
        Matcher matcher = Pattern.compile("\\[\\[([^\\s]+)\\]\\]").matcher(src);
        while (matcher.find()) {
            String label = matcher.group(1);
            String replacement =
                MessageFormat.format("<a href=\"{0}\">{0}</a>", label);
            ret = ret.replace(matcher.group(), replacement);
        }
        return ret;
    }
}
